Current methods for accessing and using cluster of supercomputers do not provide any significant level of user interactivity. Typically, a user submits a job to a system queue serviced by a job control subsystem. The job is then scheduled for batch execution based on criteria established by the administrators of the supercomputer. Although users are totally dependent on these criteria, they are not presented to them in a way that allows the user to easily determine when their job will start and finish. Since the user does not have direct control over job execution, this method does not lend itself to interactive computing.
More specifically, the user is typically not granted any control over execution of the job and therefore cannot follow its progress easily or identify and/or correct processing anomalies. Further, typical supercomputer technology does not provide functionality or flexibility to allow implementation of such control and interaction.
Communication between nodes of a parallel processing environment forms a significant cost when using the parallel processing environment to process jobs. These communication costs effectively limit the number of usable nodes within the parallel processing environment. There is therefore a significant need for understanding and improving communication within the parallel processing environment.
A further limitation of parallel processing environments is the configuration of individual nodes within the environment. Where the nodes are statically defined and configured by some external source, such configuration is time consuming and error prone. Further, where a particular device fails, such as the system configuration controller, the entire parallel processing environment becomes unusable. Alternative methods of node configuration within the parallel processing environment are desired.